home *** CD-ROM | disk | FTP | other *** search
/ Cookbook USA: Drips, Dressings & Sauces / Cookbook USA - Drips, Dressings & Sauces (1997)(MicroMedia).iso / ch15 / frmbrows.frm < prev    next >
Text File  |  1996-07-06  |  10KB  |  354 lines

  1. VERSION 2.00
  2. Begin Form frmBrowse 
  3.    BackColor       =   &H00FFFF80&
  4.    Caption         =   "Browse Titles"
  5.    ClientHeight    =   5745
  6.    ClientLeft      =   1770
  7.    ClientTop       =   3525
  8.    ClientWidth     =   7365
  9.    Height          =   6150
  10.    Icon            =   FRMBROWS.FRX:0000
  11.    Left            =   1710
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   5745
  14.    ScaleWidth      =   7365
  15.    Top             =   3180
  16.    Width           =   7485
  17.    Begin CommandButton cmdPrev 
  18.       BackColor       =   &H00FF0000&
  19.       Caption         =   "Pre&vious"
  20.       Height          =   495
  21.       Index           =   1
  22.       Left            =   6120
  23.       TabIndex        =   6
  24.       Top             =   4410
  25.       Width           =   1215
  26.    End
  27.    Begin CommandButton cmdExitCB 
  28.       Caption         =   "E&xit CBWin"
  29.       Height          =   475
  30.       Left            =   6120
  31.       TabIndex        =   7
  32.       Top             =   4995
  33.       Width           =   1215
  34.    End
  35.    Begin CommandButton cmdPrevious 
  36.       BackColor       =   &H00FF0000&
  37.       Caption         =   "&Previous 25"
  38.       Height          =   495
  39.       Left            =   6120
  40.       TabIndex        =   5
  41.       Top             =   2520
  42.       Width           =   1215
  43.    End
  44.    Begin CommandButton cmdNext 
  45.       BackColor       =   &H00FF0000&
  46.       Caption         =   "&Next 25"
  47.       Height          =   495
  48.       Left            =   6120
  49.       TabIndex        =   4
  50.       Top             =   1920
  51.       Width           =   1215
  52.    End
  53.    Begin ListBox lstRecipeTitles 
  54.       BackColor       =   &H00FFFFC0&
  55.       Height          =   4905
  56.       Left            =   1680
  57.       TabIndex        =   3
  58.       Top             =   600
  59.       Width           =   4335
  60.    End
  61.    Begin ListBox lstRecipeNumbers 
  62.       BackColor       =   &H00FFFFC0&
  63.       Height          =   4905
  64.       Left            =   240
  65.       TabIndex        =   0
  66.       Top             =   600
  67.       Width           =   1455
  68.    End
  69.    Begin Label Label2 
  70.       Alignment       =   2  'Center
  71.       BackColor       =   &H00FF80FF&
  72.       BorderStyle     =   1  'Fixed Single
  73.       Caption         =   "Title"
  74.       Height          =   255
  75.       Left            =   1680
  76.       TabIndex        =   2
  77.       Top             =   360
  78.       Width           =   4335
  79.    End
  80.    Begin Label Label1 
  81.       Alignment       =   2  'Center
  82.       BackColor       =   &H00FF80FF&
  83.       BorderStyle     =   1  'Fixed Single
  84.       Caption         =   "Recipe Number"
  85.       Height          =   255
  86.       Left            =   240
  87.       TabIndex        =   1
  88.       Top             =   360
  89.       Width           =   1455
  90.    End
  91. End
  92. ' frmBrowse displays a pair of list boxes containing up to
  93. ' 25 recipe titles and their recipe numbers.  The user may
  94. ' go straight to a particular recipe by double clicking
  95. ' that recipe, or return to frmMain by clicking exit.
  96. '
  97. ' The recipes shown can be incremented and decremented in
  98. ' groups of 25 by clicking on the appropriate command
  99. ' buttons.
  100. Dim FirstTRInList
  101.  
  102. Option Explicit
  103.  
  104. Sub cmdExitCB_Click ()
  105.  
  106.     MakeMouseCursorHourglass
  107.     frmCookBook.Show
  108.     Hide
  109.     Browsing = False
  110.     Unload Me
  111.     MakeMouseCursorDefault
  112.  
  113. End Sub
  114.  
  115. '--------------------------------------------------------------------------
  116. Sub cmdNext_Click ()
  117.     Dim x As Integer
  118.     Dim r As Integer
  119.     Dim Title As String
  120.     Dim Count As Long
  121.  
  122.     lstRecipeNumbers.Clear
  123.     lstRecipeTitles.Clear
  124.  
  125.     If FirstTRInList <> 0 Then
  126.         x = GotoTRNumber(TRListID, FirstTRInList)
  127.         x = GetNextTRNumber(TRListID, TRNumber)
  128.         FirstTRInList = 0
  129.     End If
  130.     MakeMouseCursorHourglass
  131.     frmStatusBar.Show
  132.     frmStatusBar.StatusBar.TotalItems = 25
  133.     x = LastResultTRCount(Count)
  134.     If Count > 0 And Count < 25 Then
  135.         frmStatusBar.StatusBar.TotalItems = CInt(Count)
  136.     End If
  137.     frmStatusBar.StatusBar.CompletedItems = 0
  138.     frmStatusBar.Caption = "Retrieving Recipe Titles"
  139.     
  140.     r = 0
  141.     For x = 1 To 25
  142.         Title = GetTitle()
  143.         If Title = "" Then
  144.             x = x - 1
  145.         Else
  146.             lstRecipeNumbers.AddItem CStr(TRNumber)
  147.             lstRecipeTitles.AddItem GetTitle()
  148.             If x <= frmStatusBar.StatusBar.TotalItems Then
  149.                 frmStatusBar.StatusBar.CompletedItems = x
  150.             End If
  151.  
  152.         End If
  153.         r = GetNextTRNumber(TRListID, TRNumber)
  154.         If r = -2 Then
  155.             lstRecipeNumbers.AddItem "***"
  156.             lstRecipeTitles.AddItem "*** No more recipes ***"
  157.             Exit For
  158.         End If
  159.     Next x
  160.     
  161.     MakeMouseCursorDefault
  162.     frmStatusBar.Hide
  163.  
  164. End Sub
  165.  
  166. Sub cmdPrev_Click (Index As Integer)
  167.     
  168.     frmCookBook.Show
  169.     Hide
  170.     MakeMouseCursorDefault
  171.  
  172. End Sub
  173.  
  174. '--------------------------------------------------------------------------
  175. Sub cmdPrevious_Click ()
  176.     Dim x As Integer
  177.     Dim r As Integer
  178.     Dim Title As String
  179.  
  180.     lstRecipeNumbers.Clear
  181.     lstRecipeTitles.Clear
  182.     
  183.     MakeMouseCursorHourglass
  184.     frmStatusBar.Show
  185.     frmStatusBar.StatusBar.TotalItems = 25
  186.     frmStatusBar.StatusBar.CompletedItems = 0
  187.     frmStatusBar.Caption = "Retrieving Recipe Titles"
  188.     
  189.     r = 0
  190.     For x = 1 To 50
  191.         r = GetPreviousTRNumber(TRListID, TRNumber)
  192.         If r = -2 Then Exit For
  193.     Next x
  194.     
  195.     For x = 1 To 25
  196.         Title = GetTitle()
  197.         If Title = "" Then
  198.             x = x - 1
  199.         Else
  200.             lstRecipeNumbers.AddItem CStr(TRNumber)
  201.             lstRecipeTitles.AddItem GetTitle()
  202.             If x <= frmStatusBar.StatusBar.TotalItems Then
  203.                 frmStatusBar.StatusBar.CompletedItems = x
  204.             End If
  205.         End If
  206.         r = GetNextTRNumber(TRListID, TRNumber)
  207.         If r = -2 Then Exit For
  208.     Next x
  209.     
  210.     MakeMouseCursorDefault
  211.     frmStatusBar.Hide
  212.  
  213. End Sub
  214.  
  215. '--------------------------------------------------------------------------
  216. Sub Form_Load ()
  217. ' centering the form
  218. Me.Left = (screen.Width - Me.Width) / 2
  219. Me.Top = Abs((screen.Height - Me.Height) / 2)
  220.  
  221.     Browsing = True
  222.     Call cmdNext_Click
  223.     FirstTRInList = 0
  224.  
  225. End Sub
  226.  
  227. '--------------------------------------------------------------------------
  228. Function GetTitle ()
  229.     Dim r As Integer
  230.     Dim epp As Integer
  231.     Dim eap As Integer
  232.     Dim RecordNumber As Integer
  233.     Dim RecipeTextLength As Integer
  234.     Dim RecipeText As String
  235.     ReDim RecipeTRText(1) As String * 4000
  236.     Dim RecipeOffset As Long
  237.     Dim RecipeMaxBuffer As Integer
  238.     Dim x As Integer
  239.  
  240.     ReDim DecompText(1) As String * 16000
  241.     Dim DecompLength As Integer
  242.     Dim CompLength As Integer
  243.     ReDim CompString(1) As String * 4000
  244.     
  245.     RecipeText = ""
  246.  
  247.     RecipeOffset = 0
  248.     RecipeMaxBuffer = 4000
  249.     
  250.  
  251.     Do
  252.         r = GetTR(TRNumber, RecipeTRText(1), RecipeMaxBuffer, RecipeTextLength, RecipeOffset)
  253.         If TRNumber = 0 Then
  254.             MsgBox "Error opening database: TRNumber 0"
  255.             Hide
  256.             Load frmCookBook
  257.             frmCookBook.Show
  258.         End If
  259.         
  260.         If r = 0 Then
  261.             If RecipeTextLength < 4000 Then
  262.                 RecipeTRText(1) = Left$(RecipeTRText(1), RecipeTextLength)
  263.             End If
  264.  
  265.             'Decompress
  266.             DecompText(1) = ""
  267.             DecompLength = 16000    'Max output bufsize.  Returned as actual length
  268.             CompString(1) = RecipeTRText(1)
  269.             CompLength = RecipeTextLength
  270.     
  271.             r = TextDecompress(CompString(1), CompLength, DecompText(1), DecompLength)
  272.     
  273.             If r <> 0 Then
  274.                 MsgBox "Decompression Failure." & Chr$(13) & Chr$(10) & "TRListID: " & CStr(TRListID)
  275.                 r = CloseTRList(TRListID)
  276.                 Hide
  277.                 Load frmCookBook
  278.                 frmCookBook.Show
  279.             End If
  280.     
  281.             RecipeText = RecipeText + Left$(DecompText(1), DecompLength)
  282.             RecipeOffset = RecipeOffset + RecipeTextLength
  283.     
  284.         ElseIf r = -2 Then
  285.                 RecipeText = Mid$(RecipeText, 5)
  286.                 epp = InStr(2, RecipeText, Chr$(213))
  287.                 If epp > 5 Then
  288.                     RecipeText = Mid$(RecipeText, 3, epp)
  289.                     eap = InStr(RecipeText, Chr$(10))
  290.                     If eap > 0 Then
  291.                         RecipeText = Left$(RecipeText, eap)
  292.                     End If
  293.                 Exit Do
  294.             Else
  295.                 RecipeText = ""
  296.                 Exit Function
  297.             End If
  298.         End If
  299.     Loop
  300.  
  301.     GetTitle = Left$(RecipeText, Len(RecipeText) - 3)
  302.     
  303.     
  304. End Function
  305.  
  306. '--------------------------------------------------------------------------
  307. Sub lstRecipeNumbers_Click ()
  308.     
  309.     lstRecipeTitles.ListIndex = lstRecipeNumbers.ListIndex
  310.  
  311. End Sub
  312.  
  313. '--------------------------------------------------------------------------
  314. Sub lstRecipeNumbers_DblClick ()
  315.     
  316.     Dim x
  317.  
  318.     TRNumber = CLng(lstRecipeNumbers.Text)
  319.     
  320.     x = GotoTRNumber(TRListID, TRNumber)
  321.     x = GetNextTRNumber(TRListID, TRNumber)
  322.     FirstTRInList = lstRecipeNumbers.List(0)
  323.  
  324.     MakeMouseCursorHourglass
  325.     frmRecipe.Show
  326.     Hide
  327.     MakeMouseCursorDefault
  328.  
  329. End Sub
  330.  
  331. '--------------------------------------------------------------------------
  332. Sub lstRecipeTitles_Click ()
  333.     lstRecipeNumbers.ListIndex = lstRecipeTitles.ListIndex
  334. End Sub
  335.  
  336. '--------------------------------------------------------------------------
  337. Sub lstRecipeTitles_DblClick ()
  338.     
  339.     Dim x
  340.  
  341.     TRNumber = CLng(lstRecipeNumbers.Text)
  342.     
  343.     x = GotoTRNumber(TRListID, TRNumber)
  344.     x = GetNextTRNumber(TRListID, TRNumber)
  345.     FirstTRInList = lstRecipeNumbers.List(0)
  346.  
  347.     MakeMouseCursorHourglass
  348.     frmRecipe.Show
  349.     Hide
  350.     MakeMouseCursorDefault
  351.  
  352. End Sub
  353.  
  354.